home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / !Interfaces / Universal Interfaces 2.0a1 / PInterfaces / Files.p < prev    next >
Encoding:
Text File  |  1994-07-21  |  51.3 KB  |  1,654 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Files.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a1.1  ETO #15, MPW prerelease.  Sunday, July 17, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Files;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __FILES__}
  27. {$SETC __FILES__ := 1}
  28.  
  29. {$I+}
  30. {$SETC FilesIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {    ConditionalMacros.p                                            }
  38.  
  39. {$IFC UNDEFINED __MIXEDMODE__}
  40. {$I MixedMode.p}
  41. {$ENDC}
  42.  
  43. {$IFC UNDEFINED __OSUTILS__}
  44. {$I OSUtils.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51. CONST
  52. { Finder Constants }
  53.     fsAtMark                    = 0;
  54.     fOnDesk                        = 1;
  55.     fsCurPerm                    = 0;
  56.     fHasBundle                    = 8192;
  57.     fsRdPerm                    = 1;
  58.     fInvisible                    = 16384;
  59.     fTrash                        = -3;
  60.     fsWrPerm                    = 2;
  61.     fDesktop                    = -2;
  62.     fsRdWrPerm                    = 3;
  63.     fDisk                        = 0;
  64.     fsRdWrShPerm                = 4;
  65.     fsFromStart                    = 1;
  66.     fsFromLEOF                    = 2;
  67.     fsFromMark                    = 3;
  68.     rdVerify                    = 64;
  69.     ioDirFlg                    = 3;                            { see IM IV-125 }
  70.     ioDirMask                    = $10;
  71.     fsRtParID                    = 1;
  72.     fsRtDirID                    = 2;
  73.  
  74. { CatSearch SearchBits Constants }
  75.     fsSBPartialName                = 1;
  76.     fsSBFullName                = 2;
  77.     fsSBFlAttrib                = 4;
  78.     fsSBFlFndrInfo                = 8;
  79.     fsSBFlLgLen                    = 32;
  80.     fsSBFlPyLen                    = 64;
  81.     fsSBFlRLgLen                = 128;
  82.     fsSBFlRPyLen                = 256;
  83.     fsSBFlCrDat                    = 512;
  84.     fsSBFlMdDat                    = 1024;
  85.     fsSBFlBkDat                    = 2048;
  86.     fsSBFlXFndrInfo                = 4096;
  87.     fsSBFlParID                    = 8192;
  88.     fsSBNegate                    = 16384;
  89.     fsSBDrUsrWds                = 8;
  90.     fsSBDrNmFls                    = 16;
  91.     fsSBDrCrDat                    = 512;
  92.     fsSBDrMdDat                    = 1024;
  93.     fsSBDrBkDat                    = 2048;
  94.     fsSBDrFndrInfo                = 4096;
  95.  
  96.     fsSBDrParID                    = 8192;
  97. { vMAttrib (GetVolParms) bit position constants }
  98.     bLimitFCBs                    = 31;
  99.     bLocalWList                    = 30;
  100.     bNoMiniFndr                    = 29;
  101.     bNoVNEdit                    = 28;
  102.     bNoLclSync                    = 27;
  103.     bTrshOffLine                = 26;
  104.     bNoSwitchTo                    = 25;
  105.     bNoDeskItems                = 20;
  106.     bNoBootBlks                    = 19;
  107.     bAccessCntl                    = 18;
  108.     bNoSysDir                    = 17;
  109.     bHasExtFSVol                = 16;
  110.     bHasOpenDeny                = 15;
  111.     bHasCopyFile                = 14;
  112.     bHasMoveRename                = 13;
  113.     bHasDesktopMgr                = 12;
  114.     bHasShortName                = 11;
  115.     bHasFolderLock                = 10;
  116.     bHasPersonalAccessPrivileges = 9;
  117.  
  118.     bHasUserGroupList            = 8;
  119.     bHasCatSearch                = 7;
  120.     bHasFileIDs                    = 6;
  121.     bHasBTreeMgr                = 5;
  122.     bHasBlankAccessPrivileges    = 4;
  123. { Desktop Database icon Constants }
  124.     kLargeIcon                    = 1;
  125.     kLarge4BitIcon                = 2;
  126.     kLarge8BitIcon                = 3;
  127.     kSmallIcon                    = 4;
  128.     kSmall4BitIcon                = 5;
  129.     kSmall8BitIcon                = 6;
  130.     kLargeIconSize                = 256;
  131.     kLarge4BitIconSize            = 512;
  132.     kLarge8BitIconSize            = 1024;
  133.     kSmallIconSize                = 64;
  134.     kSmall4BitIconSize            = 128;
  135.     kSmall8BitIconSize            = 256;
  136. { Foreign Privilege Model Identifiers }
  137.     fsUnixPriv                    = 1;
  138. { Version Release Stage Codes }
  139.     developStage                = $20;
  140.     alphaStage                    = $40;
  141.  
  142.     betaStage                    = $60;
  143.     finalStage                    = $80;
  144. { Authentication Constants }
  145.     kNoUserAuthentication        = 1;
  146.     kPassword                    = 2;
  147.     kEncryptPassword            = 3;
  148.     kTwoWayEncryptPassword        = 6;
  149.  
  150.     hFileInfo                    = 0;
  151.     dirInfo                        = 1;
  152.  
  153.     
  154. TYPE
  155. CInfoType = SInt8;
  156.  
  157.  
  158. CONST
  159. { mapping codes (ioObjType) for MapName & MapID }
  160.     kOwnerID2Name                = 1;
  161.     kGroupID2Name                = 2;
  162.     kOwnerName2ID                = 3;
  163.     kGroupName2ID                = 4;
  164. { types of oj object to be returned (ioObjType) for _GetUGEntry }
  165.     kReturnNextUser                = 1;
  166.     kReturnNextGroup            = 2;
  167.     kReturnNextUG                = 3;
  168.  
  169.  
  170. TYPE
  171.     FInfo = RECORD
  172.         fdType:                    OSType;                                    {the type of the file}
  173.         fdCreator:                OSType;                                    {file's creator}
  174.         fdFlags:                INTEGER;                                {flags ex. hasbundle,invisible,locked, etc.}
  175.         fdLocation:                Point;                                    {file's location in folder}
  176.         fdFldr:                    INTEGER;                                {folder containing file}
  177.     END;
  178.     FXInfo = RECORD
  179.         fdIconID:                INTEGER;                                {Icon ID}
  180.         fdUnused:                ARRAY [0..2] OF INTEGER;                {unused but reserved 6 bytes}
  181.         fdScript:                SInt8;                                    {Script flag and number}
  182.         fdXFlags:                SInt8;                                    {More flag bits}
  183.         fdComment:                INTEGER;                                {Comment ID}
  184.         fdPutAway:                LONGINT;                                {Home Dir ID}
  185.     END;
  186.     DInfo = RECORD
  187.         frRect:                    Rect;                                    {folder rect}
  188.         frFlags:                INTEGER;                                {Flags}
  189.         frLocation:                Point;                                    {folder location}
  190.         frView:                    INTEGER;                                {folder view}
  191.     END;
  192.     DXInfo = RECORD
  193.         frScroll:                Point;                                    {scroll position}
  194.         frOpenChain:            LONGINT;                                {DirID chain of open folders}
  195.         frScript:                SInt8;                                    {Script flag and number}
  196.         frXFlags:                SInt8;                                    {More flag bits}
  197.         frComment:                INTEGER;                                {comment}
  198.         frPutAway:                LONGINT;                                {DirID}
  199.     END;
  200.     GetVolParmsInfoBuffer = RECORD
  201.         vMVersion:                INTEGER;                                {version number}
  202.         vMAttrib:                LONGINT;                                {bit vector of attributes (see vMAttrib constants)}
  203.         vMLocalHand:            Handle;                                    {handle to private data}
  204.         vMServerAdr:            LONGINT;                                {AppleTalk server address or zero}
  205.         vMVolumeGrade:            LONGINT;                                {approx. speed rating or zero if unrated}
  206.         vMForeignPrivID:        INTEGER;                                {foreign privilege model supported or zero if none}
  207.     END;
  208.     ParmBlkPtr = ^ParamBlockRec;
  209.  
  210.     {
  211.         IOCompletionProcPtr uses register based parameters on the 68k and cannot
  212.         be written in or called from a high-level language without the help of
  213.         mixed mode or assembly glue.
  214.  
  215.         In:
  216.          => paramBlock      A0.L
  217.     }
  218.     IOCompletionProcPtr = ProcPtr;  { PROCEDURE IOCompletion(paramBlock: ParmBlkPtr); }
  219.     IOCompletionUPP = UniversalProcPtr;
  220.  
  221.     ParamBlockRec = RECORD
  222.         qLink:                    QElemPtr;
  223.         qType:                    INTEGER;
  224.         ioTrap:                    INTEGER;
  225.         ioCmdAddr:                Ptr;
  226.         ioCompletion:            IOCompletionUPP;
  227.         ioResult:                OSErr;
  228.         ioNamePtr:                StringPtr;
  229.         ioVRefNum:                INTEGER;
  230.         CASE INTEGER OF
  231.         0: (
  232.             ioRefNum:                    INTEGER;
  233.             ioVersNum:                    SInt8;
  234.             ioPermssn:                    SInt8;
  235.             ioMisc:                        Ptr;
  236.             ioBuffer:                    Ptr;
  237.             ioReqCount:                    LONGINT;
  238.             ioActCount:                    LONGINT;
  239.             ioPosMode:                    INTEGER;
  240.             ioPosOffset:                LONGINT;
  241.            );
  242.         1: (
  243.             ioFRefNum:                    INTEGER;
  244.             ioFVersNum:                    SInt8;
  245.             filler1:                    SInt8;
  246.             ioFDirIndex:                INTEGER;
  247.             ioFlAttrib:                    SInt8;
  248.             ioFlVersNum:                SInt8;
  249.             ioFlFndrInfo:                FInfo;
  250.             ioFlNum:                    LONGINT;
  251.             ioFlStBlk:                    INTEGER;
  252.             ioFlLgLen:                    LONGINT;
  253.             ioFlPyLen:                    LONGINT;
  254.             ioFlRStBlk:                    INTEGER;
  255.             ioFlRLgLen:                    LONGINT;
  256.             ioFlRPyLen:                    LONGINT;
  257.             ioFlCrDat:                    LONGINT;
  258.             ioFlMdDat:                    LONGINT;
  259.            );
  260.         2: (
  261.             filler2:                    LONGINT;
  262.             ioVolIndex:                    INTEGER;
  263.             ioVCrDate:                    LONGINT;
  264.             ioVLsBkUp:                    LONGINT;
  265.             ioVAtrb:                    INTEGER;
  266.             ioVNmFls:                    INTEGER;
  267.             ioVDirSt:                    INTEGER;
  268.             ioVBlLn:                    INTEGER;
  269.             ioVNmAlBlks:                INTEGER;
  270.             ioVAlBlkSiz:                LONGINT;
  271.             ioVClpSiz:                    LONGINT;
  272.             ioAlBlSt:                    INTEGER;
  273.             ioVNxtFNum:                    LONGINT;
  274.             ioVFrBlk:                    INTEGER;
  275.            );
  276.         3: (
  277.             ioCRefNum:                    INTEGER;
  278.             csCode:                        INTEGER;
  279.             csParam:                    ARRAY [0..10] OF INTEGER;
  280.            );
  281.         4: (
  282.             ioSRefNum:                    INTEGER;
  283.             ioSVersNum:                    SInt8;
  284.             ioSPermssn:                    SInt8;
  285.             ioSMix:                        Ptr;
  286.             ioSFlags:                    INTEGER;
  287.             ioSlot:                        SInt8;
  288.             ioID:                        SInt8;
  289.            );
  290.         5: (
  291.             ioMRefNum:                    INTEGER;
  292.             ioMVersNum:                    SInt8;
  293.             ioMPermssn:                    SInt8;
  294.             ioMMix:                        Ptr;
  295.             ioMFlags:                    INTEGER;
  296.             ioSEBlkPtr:                    Ptr;
  297.            );
  298.     END;
  299.  
  300.     CInfoPBRec = RECORD
  301.         qLink:                    QElemPtr;
  302.         qType:                    INTEGER;
  303.         ioTrap:                    INTEGER;
  304.         ioCmdAddr:                Ptr;
  305.         ioCompletion:            IOCompletionUPP;
  306.         ioResult:                OSErr;
  307.         ioNamePtr:                StringPtr;
  308.         ioVRefNum:                INTEGER;
  309.         ioFRefNum:                INTEGER;
  310.         ioFVersNum:                SInt8;
  311.         filler1:                SInt8;
  312.         ioFDirIndex:            INTEGER;
  313.         ioFlAttrib:                SInt8;
  314.         filler2:                SInt8;
  315.         CASE INTEGER OF
  316.         0: (
  317.             ioFlFndrInfo:                FInfo;
  318.             ioDirID:                    LONGINT;
  319.             ioFlStBlk:                    INTEGER;
  320.             ioFlLgLen:                    LONGINT;
  321.             ioFlPyLen:                    LONGINT;
  322.             ioFlRStBlk:                    INTEGER;
  323.             ioFlRLgLen:                    LONGINT;
  324.             ioFlRPyLen:                    LONGINT;
  325.             ioFlCrDat:                    LONGINT;
  326.             ioFlMdDat:                    LONGINT;
  327.             ioFlBkDat:                    LONGINT;
  328.             ioFlXFndrInfo:                FXInfo;
  329.             ioFlParID:                    LONGINT;
  330.             ioFlClpSiz:                    LONGINT;
  331.            );
  332.         1: (
  333.             ioDrUsrWds:                    DInfo;
  334.             ioDrDirID:                    LONGINT;
  335.             ioDrNmFls:                    INTEGER;
  336.             filler3:                    ARRAY [0..8] OF INTEGER;
  337.             ioDrCrDat:                    LONGINT;
  338.             ioDrMdDat:                    LONGINT;
  339.             ioDrBkDat:                    LONGINT;
  340.             ioDrFndrInfo:                DXInfo;
  341.             ioDrParID:                    LONGINT;
  342.            );
  343.     END;
  344.  
  345.     CInfoPBPtr = ^CInfoPBRec;
  346.  
  347.     CatPositionRec = RECORD
  348.         initialize:                LONGINT;
  349.         priv:                    ARRAY [0..5] OF INTEGER;
  350.     END;
  351.     FSSpec = RECORD
  352.         vRefNum:                INTEGER;
  353.         parID:                    LONGINT;
  354.         name:                    Str63;
  355.     END;
  356.     FSSpecPtr = ^FSSpec;
  357.     FSSpecHandle = ^FSSpecPtr;
  358.  
  359. { pointer to array of FSSpecs }
  360.     FSSpecArrayPtr = FSSpecPtr;
  361.  
  362. { The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  363.    that as a parameter, ConstFSSpecPtr is allowed to be NULL }
  364.     ConstFSSpecPtr = ^FSSpec;
  365.  
  366. { The following are structures to be filled out with the _GetVolMountInfo call
  367.  and passed back into the _VolumeMount call for external file system mounts. }
  368. { the "signature" of the file system }
  369.     VolumeType = OSType;
  370.  
  371.  
  372. CONST
  373. { the signature for AppleShare }
  374.     AppleShareMediaType            = 'afpm';
  375.  
  376.  
  377. TYPE
  378.     VolMountInfoHeader = RECORD
  379.         length:                    INTEGER;                                { length of location data (including self) }
  380.         media:                    VolumeType;                                { type of media.  Variable length data follows }
  381.     END;
  382.     VolMountInfoPtr = ^VolMountInfoHeader;
  383.  
  384.     AFPVolMountInfo = RECORD
  385.         length:                    INTEGER;                                { length of location data (including self) }
  386.         media:                    VolumeType;                                { type of media }
  387.         flags:                    INTEGER;                                { bits for no messages, no reconnect }
  388.         nbpInterval:            SInt8;                                    { NBP Interval parameter (IM2, p.322) }
  389.         nbpCount:                SInt8;                                    { NBP Interval parameter (IM2, p.322) }
  390.         uamType:                INTEGER;                                { User Authentication Method }
  391.         zoneNameOffset:            INTEGER;                                { short positive offset from start of struct to Zone Name }
  392.         serverNameOffset:        INTEGER;                                { offset to pascal Server Name string }
  393.         volNameOffset:            INTEGER;                                { offset to pascal Volume Name string }
  394.         userNameOffset:            INTEGER;                                { offset to pascal User Name string }
  395.         userPasswordOffset:        INTEGER;                                { offset to pascal User Password string }
  396.         volPasswordOffset:        INTEGER;                                { offset to pascal Volume Password string }
  397.         AFPData:                PACKED ARRAY [0..143] OF CHAR;            { variable length data may follow }
  398.     END;
  399.     AFPVolMountInfoPtr = ^AFPVolMountInfo;
  400.  
  401.     DTPBRec = RECORD
  402.         qLink:                    QElemPtr;
  403.         qType:                    INTEGER;
  404.         ioTrap:                    INTEGER;
  405.         ioCmdAddr:                Ptr;
  406.         ioCompletion:            IOCompletionUPP;
  407.         ioResult:                OSErr;
  408.         ioNamePtr:                StringPtr;
  409.         ioVRefNum:                INTEGER;
  410.         ioDTRefNum:                INTEGER;                                { desktop refnum }
  411.         ioIndex:                INTEGER;
  412.         ioTagInfo:                LONGINT;
  413.         ioDTBuffer:                Ptr;
  414.         ioDTReqCount:            LONGINT;
  415.         ioDTActCount:            LONGINT;
  416.         ioFiller1:                SInt8;
  417.         ioIconType:                SInt8;
  418.         ioFiller2:                INTEGER;
  419.         ioDirID:                LONGINT;
  420.         ioFileCreator:            OSType;
  421.         ioFileType:                OSType;
  422.         ioFiller3:                LONGINT;
  423.         ioDTLgLen:                LONGINT;
  424.         ioDTPyLen:                LONGINT;
  425.         ioFiller4:                ARRAY [0..13] OF INTEGER;
  426.         ioAPPLParID:            LONGINT;
  427.     END;
  428.     DTPBPtr = ^DTPBRec;
  429.  
  430.     HParamBlockRec = RECORD
  431.         qLink:                    QElemPtr;
  432.         qType:                    INTEGER;
  433.         ioTrap:                    INTEGER;
  434.         ioCmdAddr:                Ptr;
  435.         ioCompletion:            IOCompletionUPP;
  436.         ioResult:                OSErr;
  437.         ioNamePtr:                StringPtr;
  438.         ioVRefNum:                INTEGER;
  439.         CASE INTEGER OF
  440.         0: (
  441.             ioRefNum:                    INTEGER;
  442.             ioVersNum:                    SInt8;
  443.             ioPermssn:                    SInt8;
  444.             ioMisc:                        Ptr;
  445.             ioBuffer:                    Ptr;
  446.             ioReqCount:                    LONGINT;
  447.             ioActCount:                    LONGINT;
  448.             ioPosMode:                    INTEGER;
  449.             ioPosOffset:                LONGINT;
  450.            );
  451.         1: (
  452.             ioFRefNum:                    INTEGER;
  453.             ioFVersNum:                    SInt8;
  454.             filler1:                    SInt8;
  455.             ioFDirIndex:                INTEGER;
  456.             ioFlAttrib:                    SInt8;
  457.             ioFlVersNum:                SInt8;
  458.             ioFlFndrInfo:                FInfo;
  459.             ioDirID:                    LONGINT;
  460.             ioFlStBlk:                    INTEGER;
  461.             ioFlLgLen:                    LONGINT;
  462.             ioFlPyLen:                    LONGINT;
  463.             ioFlRStBlk:                    INTEGER;
  464.             ioFlRLgLen:                    LONGINT;
  465.             ioFlRPyLen:                    LONGINT;
  466.             ioFlCrDat:                    LONGINT;
  467.             ioFlMdDat:                    LONGINT;
  468.            );
  469.         2: (
  470.             filler2:                    LONGINT;
  471.             ioVolIndex:                    INTEGER;
  472.             ioVCrDate:                    LONGINT;
  473.             ioVLsMod:                    LONGINT;
  474.             ioVAtrb:                    INTEGER;
  475.             ioVNmFls:                    INTEGER;
  476.             ioVBitMap:                    INTEGER;
  477.             ioAllocPtr:                    INTEGER;
  478.             ioVNmAlBlks:                INTEGER;
  479.             ioVAlBlkSiz:                LONGINT;
  480.             ioVClpSiz:                    LONGINT;
  481.             ioAlBlSt:                    INTEGER;
  482.             ioVNxtCNID:                    LONGINT;
  483.             ioVFrBlk:                    INTEGER;
  484.             ioVSigWord:                    INTEGER;
  485.             ioVDrvInfo:                    INTEGER;
  486.             ioVDRefNum:                    INTEGER;
  487.             ioVFSID:                    INTEGER;
  488.             ioVBkUp:                    LONGINT;
  489.             ioVSeqNum:                    INTEGER;
  490.             ioVWrCnt:                    LONGINT;
  491.             ioVFilCnt:                    LONGINT;
  492.             ioVDirCnt:                    LONGINT;
  493.             ioVFndrInfo:                ARRAY [0..7] OF LONGINT;
  494.            );
  495.         3: (
  496.             filler3:                    INTEGER;
  497.             ioDenyModes:                INTEGER;
  498.             filler4:                    INTEGER;
  499.             filler5:                    SInt8;
  500.             ioACUser:                    SInt8;
  501.             filler6:                    LONGINT;
  502.             ioACOwnerID:                LONGINT;
  503.             ioACGroupID:                LONGINT;
  504.             ioACAccess:                    LONGINT;
  505.            );
  506.         4: (
  507.             filler7:                    INTEGER;
  508.             ioObjType:                    INTEGER;
  509.             ioObjNamePtr:                StringPtr;
  510.             ioObjID:                    LONGINT;
  511.            );
  512.         5: (
  513.             ioDstVRefNum:                INTEGER;
  514.             filler8:                    INTEGER;
  515.             ioNewName:                    StringPtr;
  516.             ioCopyName:                    StringPtr;
  517.             ioNewDirID:                    LONGINT;
  518.            );
  519.         6: (
  520.             filler9:                    INTEGER;
  521.             ioWDIndex:                    INTEGER;
  522.             ioWDProcID:                    LONGINT;
  523.             ioWDVRefNum:                INTEGER;
  524.             filler10:                    INTEGER;
  525.             filler11:                    LONGINT;
  526.             filler12:                    LONGINT;
  527.             filler13:                    LONGINT;
  528.             ioWDDirID:                    LONGINT;
  529.            );
  530.         7: (
  531.             filler14:                    LONGINT;
  532.             ioDestNamePtr:                StringPtr;
  533.             filler15:                    LONGINT;
  534.             ioDestDirID:                LONGINT;
  535.             filler16:                    LONGINT;
  536.             filler17:                    LONGINT;
  537.             ioSrcDirID:                    LONGINT;
  538.             filler18:                    INTEGER;
  539.             ioFileID:                    LONGINT;
  540.            );
  541.         8: (
  542.             ioMatchPtr:                    FSSpecPtr;
  543.             ioReqMatchCount:            LONGINT;
  544.             ioActMatchCount:            LONGINT;
  545.             ioSearchBits:                LONGINT;
  546.             ioSearchInfo1:                CInfoPBPtr;
  547.             ioSearchInfo2:                CInfoPBPtr;
  548.             ioSearchTime:                LONGINT;
  549.             ioCatPosition:                CatPositionRec;
  550.             ioOptBuffer:                Ptr;
  551.             ioOptBufSize:                LONGINT;
  552.            );
  553.         9: (
  554.             ioFiller21:                    LONGINT;
  555.             ioFiller22:                    LONGINT;
  556.             ioForeignPrivBuffer:        Ptr;
  557.             ioForeignPrivActCount:        LONGINT;
  558.             ioForeignPrivReqCount:        LONGINT;
  559.             ioFiller23:                    LONGINT;
  560.             ioForeignPrivDirID:            LONGINT;
  561.             ioForeignPrivInfo1:            LONGINT;
  562.             ioForeignPrivInfo2:            LONGINT;
  563.             ioForeignPrivInfo3:            LONGINT;
  564.             ioForeignPrivInfo4:            LONGINT;
  565.            );
  566.     END;
  567.  
  568.     HParmBlkPtr = ^HParamBlockRec;
  569.  
  570.     CMovePBRec = RECORD
  571.         qLink:                    QElemPtr;
  572.         qType:                    INTEGER;
  573.         ioTrap:                    INTEGER;
  574.         ioCmdAddr:                Ptr;
  575.         ioCompletion:            IOCompletionUPP;
  576.         ioResult:                OSErr;
  577.         ioNamePtr:                StringPtr;
  578.         ioVRefNum:                INTEGER;
  579.         filler1:                LONGINT;
  580.         ioNewName:                StringPtr;
  581.         filler2:                LONGINT;
  582.         ioNewDirID:                LONGINT;
  583.         filler3:                ARRAY [0..1] OF LONGINT;
  584.         ioDirID:                LONGINT;
  585.     END;
  586.     CMovePBPtr = ^CMovePBRec;
  587.  
  588.     WDPBRec = RECORD
  589.         qLink:                    QElemPtr;
  590.         qType:                    INTEGER;
  591.         ioTrap:                    INTEGER;
  592.         ioCmdAddr:                Ptr;
  593.         ioCompletion:            IOCompletionUPP;
  594.         ioResult:                OSErr;
  595.         ioNamePtr:                StringPtr;
  596.         ioVRefNum:                INTEGER;
  597.         filler1:                INTEGER;
  598.         ioWDIndex:                INTEGER;
  599.         ioWDProcID:                LONGINT;
  600.         ioWDVRefNum:            INTEGER;
  601.         filler2:                ARRAY [0..6] OF INTEGER;
  602.         ioWDDirID:                LONGINT;
  603.     END;
  604.     WDPBPtr = ^WDPBRec;
  605.  
  606.     FCBPBRec = RECORD
  607.         qLink:                    QElemPtr;
  608.         qType:                    INTEGER;
  609.         ioTrap:                    INTEGER;
  610.         ioCmdAddr:                Ptr;
  611.         ioCompletion:            IOCompletionUPP;
  612.         ioResult:                OSErr;
  613.         ioNamePtr:                StringPtr;
  614.         ioVRefNum:                INTEGER;
  615.         ioRefNum:                INTEGER;
  616.         filler:                    INTEGER;
  617.         ioFCBIndx:                INTEGER;
  618.         filler1:                INTEGER;
  619.         ioFCBFlNm:                LONGINT;
  620.         ioFCBFlags:                INTEGER;
  621.         ioFCBStBlk:                INTEGER;
  622.         ioFCBEOF:                LONGINT;
  623.         ioFCBPLen:                LONGINT;
  624.         ioFCBCrPs:                LONGINT;
  625.         ioFCBVRefNum:            INTEGER;
  626.         ioFCBClpSiz:            LONGINT;
  627.         ioFCBParID:                LONGINT;
  628.     END;
  629.     FCBPBPtr = ^FCBPBRec;
  630.  
  631.     VCB = RECORD
  632.         qLink:                    QElemPtr;
  633.         qType:                    INTEGER;
  634.         vcbFlags:                INTEGER;
  635.         vcbSigWord:                INTEGER;
  636.         vcbCrDate:                LONGINT;
  637.         vcbLsMod:                LONGINT;
  638.         vcbAtrb:                INTEGER;
  639.         vcbNmFls:                INTEGER;
  640.         vcbVBMSt:                INTEGER;
  641.         vcbAllocPtr:            INTEGER;
  642.         vcbNmAlBlks:            INTEGER;
  643.         vcbAlBlkSiz:            LONGINT;
  644.         vcbClpSiz:                LONGINT;
  645.         vcbAlBlSt:                INTEGER;
  646.         vcbNxtCNID:                LONGINT;
  647.         vcbFreeBks:                INTEGER;
  648.         vcbVN:                    Str27;
  649.         vcbDrvNum:                INTEGER;
  650.         vcbDRefNum:                INTEGER;
  651.         vcbFSID:                INTEGER;
  652.         vcbVRefNum:                INTEGER;
  653.         vcbMAdr:                Ptr;
  654.         vcbBufAdr:                Ptr;
  655.         vcbMLen:                INTEGER;
  656.         vcbDirIndex:            INTEGER;
  657.         vcbDirBlk:                INTEGER;
  658.         vcbVolBkUp:                LONGINT;
  659.         vcbVSeqNum:                INTEGER;
  660.         vcbWrCnt:                LONGINT;
  661.         vcbXTClpSiz:            LONGINT;
  662.         vcbCTClpSiz:            LONGINT;
  663.         vcbNmRtDirs:            INTEGER;
  664.         vcbFilCnt:                LONGINT;
  665.         vcbDirCnt:                LONGINT;
  666.         vcbFndrInfo:            ARRAY [0..7] OF LONGINT;
  667.         vcbVCSize:                INTEGER;
  668.         vcbVBMCSiz:                INTEGER;
  669.         vcbCtlCSiz:                INTEGER;
  670.         vcbXTAlBlks:            INTEGER;
  671.         vcbCTAlBlks:            INTEGER;
  672.         vcbXTRef:                INTEGER;
  673.         vcbCTRef:                INTEGER;
  674.         vcbCtlBuf:                Ptr;
  675.         vcbDirIDM:                LONGINT;
  676.         vcbOffsM:                INTEGER;
  677.     END;
  678.     DrvQEl = RECORD
  679.         qLink:                    QElemPtr;
  680.         qType:                    INTEGER;
  681.         dQDrive:                INTEGER;
  682.         dQRefNum:                INTEGER;
  683.         dQFSID:                    INTEGER;
  684.         dQDrvSz:                INTEGER;
  685.         dQDrvSz2:                INTEGER;
  686.     END;
  687.     DrvQElPtr = ^DrvQEl;
  688.  
  689. CONST
  690.     uppIOCompletionProcInfo = $00009802; { Register PROCEDURE (4 bytes in A0); }
  691.  
  692. FUNCTION NewIOCompletionProc(userRoutine: IOCompletionProcPtr): IOCompletionUPP;
  693.     {$IFC NOT GENERATINGCFM }
  694.     INLINE $2E9F;
  695.     {$ENDC}
  696.  
  697. PROCEDURE CallIOCompletionProc(paramBlock: ParmBlkPtr; userRoutine: IOCompletionUPP);
  698.     {$IFC NOT GENERATINGCFM}
  699.     {To be implemented:  Glue to move parameters into registers.}
  700.     {$ENDC}
  701.  
  702. FUNCTION PBOpen(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  703. FUNCTION PBOpenSync(paramBlock: ParmBlkPtr): OSErr;
  704.     {$IFC NOT GENERATINGCFM}
  705.     INLINE $205F, $A000, $3E80;
  706.     {$ENDC}
  707. FUNCTION PBOpenAsync(paramBlock: ParmBlkPtr): OSErr;
  708.     {$IFC NOT GENERATINGCFM}
  709.     INLINE $205F, $A400, $3E80;
  710.     {$ENDC}
  711. FUNCTION PBOpenImmed(paramBlock: ParmBlkPtr): OSErr;
  712.     {$IFC NOT GENERATINGCFM}
  713.     INLINE $205F, $A200, $3E80;
  714.     {$ENDC}
  715. FUNCTION PBClose(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  716. FUNCTION PBCloseSync(paramBlock: ParmBlkPtr): OSErr;
  717.     {$IFC NOT GENERATINGCFM}
  718.     INLINE $205F, $A001, $3E80;
  719.     {$ENDC}
  720. FUNCTION PBCloseAsync(paramBlock: ParmBlkPtr): OSErr;
  721.     {$IFC NOT GENERATINGCFM}
  722.     INLINE $205F, $A401, $3E80;
  723.     {$ENDC}
  724. FUNCTION PBCloseImmed(paramBlock: ParmBlkPtr): OSErr;
  725.     {$IFC NOT GENERATINGCFM}
  726.     INLINE $205F, $A201, $3E80;
  727.     {$ENDC}
  728. FUNCTION PBRead(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  729. FUNCTION PBReadSync(paramBlock: ParmBlkPtr): OSErr;
  730.     {$IFC NOT GENERATINGCFM}
  731.     INLINE $205F, $A002, $3E80;
  732.     {$ENDC}
  733. FUNCTION PBReadAsync(paramBlock: ParmBlkPtr): OSErr;
  734.     {$IFC NOT GENERATINGCFM}
  735.     INLINE $205F, $A402, $3E80;
  736.     {$ENDC}
  737. FUNCTION PBReadImmed(paramBlock: ParmBlkPtr): OSErr;
  738.     {$IFC NOT GENERATINGCFM}
  739.     INLINE $205F, $A202, $3E80;
  740.     {$ENDC}
  741. FUNCTION PBWrite(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  742. FUNCTION PBWriteSync(paramBlock: ParmBlkPtr): OSErr;
  743.     {$IFC NOT GENERATINGCFM}
  744.     INLINE $205F, $A003, $3E80;
  745.     {$ENDC}
  746. FUNCTION PBWriteAsync(paramBlock: ParmBlkPtr): OSErr;
  747.     {$IFC NOT GENERATINGCFM}
  748.     INLINE $205F, $A403, $3E80;
  749.     {$ENDC}
  750. FUNCTION PBWriteImmed(paramBlock: ParmBlkPtr): OSErr;
  751.     {$IFC NOT GENERATINGCFM}
  752.     INLINE $205F, $A203, $3E80;
  753.     {$ENDC}
  754. FUNCTION PBGetVInfo(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  755. FUNCTION PBGetVInfoSync(paramBlock: ParmBlkPtr): OSErr;
  756.     {$IFC NOT GENERATINGCFM}
  757.     INLINE $205F, $A007, $3E80;
  758.     {$ENDC}
  759. FUNCTION PBGetVInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  760.     {$IFC NOT GENERATINGCFM}
  761.     INLINE $205F, $A407, $3E80;
  762.     {$ENDC}
  763. FUNCTION PBGetVol(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  764. FUNCTION PBGetVolSync(paramBlock: ParmBlkPtr): OSErr;
  765.     {$IFC NOT GENERATINGCFM}
  766.     INLINE $205F, $A014, $3E80;
  767.     {$ENDC}
  768. FUNCTION PBGetVolAsync(paramBlock: ParmBlkPtr): OSErr;
  769.     {$IFC NOT GENERATINGCFM}
  770.     INLINE $205F, $A414, $3E80;
  771.     {$ENDC}
  772. FUNCTION PBSetVol(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  773. FUNCTION PBSetVolSync(paramBlock: ParmBlkPtr): OSErr;
  774.     {$IFC NOT GENERATINGCFM}
  775.     INLINE $205F, $A015, $3E80;
  776.     {$ENDC}
  777. FUNCTION PBSetVolAsync(paramBlock: ParmBlkPtr): OSErr;
  778.     {$IFC NOT GENERATINGCFM}
  779.     INLINE $205F, $A415, $3E80;
  780.     {$ENDC}
  781. FUNCTION PBFlushVol(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  782. FUNCTION PBFlushVolSync(paramBlock: ParmBlkPtr): OSErr;
  783.     {$IFC NOT GENERATINGCFM}
  784.     INLINE $205F, $A013, $3E80;
  785.     {$ENDC}
  786. FUNCTION PBFlushVolAsync(paramBlock: ParmBlkPtr): OSErr;
  787.     {$IFC NOT GENERATINGCFM}
  788.     INLINE $205F, $A413, $3E80;
  789.     {$ENDC}
  790. FUNCTION PBCreate(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  791. FUNCTION PBCreateSync(paramBlock: ParmBlkPtr): OSErr;
  792.     {$IFC NOT GENERATINGCFM}
  793.     INLINE $205F, $A008, $3E80;
  794.     {$ENDC}
  795. FUNCTION PBCreateAsync(paramBlock: ParmBlkPtr): OSErr;
  796.     {$IFC NOT GENERATINGCFM}
  797.     INLINE $205F, $A408, $3E80;
  798.     {$ENDC}
  799. FUNCTION PBDelete(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  800. FUNCTION PBDeleteSync(paramBlock: ParmBlkPtr): OSErr;
  801.     {$IFC NOT GENERATINGCFM}
  802.     INLINE $205F, $A009, $3E80;
  803.     {$ENDC}
  804. FUNCTION PBDeleteAsync(paramBlock: ParmBlkPtr): OSErr;
  805.     {$IFC NOT GENERATINGCFM}
  806.     INLINE $205F, $A409, $3E80;
  807.     {$ENDC}
  808. FUNCTION PBOpenDF(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  809. FUNCTION PBOpenDFSync(paramBlock: ParmBlkPtr): OSErr;
  810.     {$IFC NOT GENERATINGCFM}
  811.     INLINE $205F, $701A, $A060, $3E80;
  812.     {$ENDC}
  813. FUNCTION PBOpenDFAsync(paramBlock: ParmBlkPtr): OSErr;
  814.     {$IFC NOT GENERATINGCFM}
  815.     INLINE $205F, $701A, $A460, $3E80;
  816.     {$ENDC}
  817. FUNCTION PBOpenRF(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  818. FUNCTION PBOpenRFSync(paramBlock: ParmBlkPtr): OSErr;
  819.     {$IFC NOT GENERATINGCFM}
  820.     INLINE $205F, $A00A, $3E80;
  821.     {$ENDC}
  822. FUNCTION PBOpenRFAsync(paramBlock: ParmBlkPtr): OSErr;
  823.     {$IFC NOT GENERATINGCFM}
  824.     INLINE $205F, $A40A, $3E80;
  825.     {$ENDC}
  826. FUNCTION PBRename(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  827. FUNCTION PBRenameSync(paramBlock: ParmBlkPtr): OSErr;
  828.     {$IFC NOT GENERATINGCFM}
  829.     INLINE $205F, $A00B, $3E80;
  830.     {$ENDC}
  831. FUNCTION PBRenameAsync(paramBlock: ParmBlkPtr): OSErr;
  832.     {$IFC NOT GENERATINGCFM}
  833.     INLINE $205F, $A40B, $3E80;
  834.     {$ENDC}
  835. FUNCTION PBGetFInfo(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  836. FUNCTION PBGetFInfoSync(paramBlock: ParmBlkPtr): OSErr;
  837.     {$IFC NOT GENERATINGCFM}
  838.     INLINE $205F, $A00C, $3E80;
  839.     {$ENDC}
  840. FUNCTION PBGetFInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  841.     {$IFC NOT GENERATINGCFM}
  842.     INLINE $205F, $A40C, $3E80;
  843.     {$ENDC}
  844. FUNCTION PBSetFInfo(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  845. FUNCTION PBSetFInfoSync(paramBlock: ParmBlkPtr): OSErr;
  846.     {$IFC NOT GENERATINGCFM}
  847.     INLINE $205F, $A00D, $3E80;
  848.     {$ENDC}
  849. FUNCTION PBSetFInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  850.     {$IFC NOT GENERATINGCFM}
  851.     INLINE $205F, $A40D, $3E80;
  852.     {$ENDC}
  853. FUNCTION PBSetFLock(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  854. FUNCTION PBSetFLockSync(paramBlock: ParmBlkPtr): OSErr;
  855.     {$IFC NOT GENERATINGCFM}
  856.     INLINE $205F, $A041, $3E80;
  857.     {$ENDC}
  858. FUNCTION PBSetFLockAsync(paramBlock: ParmBlkPtr): OSErr;
  859.     {$IFC NOT GENERATINGCFM}
  860.     INLINE $205F, $A441, $3E80;
  861.     {$ENDC}
  862. FUNCTION PBRstFLock(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  863. FUNCTION PBRstFLockSync(paramBlock: ParmBlkPtr): OSErr;
  864.     {$IFC NOT GENERATINGCFM}
  865.     INLINE $205F, $A042, $3E80;
  866.     {$ENDC}
  867. FUNCTION PBRstFLockAsync(paramBlock: ParmBlkPtr): OSErr;
  868.     {$IFC NOT GENERATINGCFM}
  869.     INLINE $205F, $A442, $3E80;
  870.     {$ENDC}
  871. FUNCTION PBSetFVers(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  872. FUNCTION PBSetFVersSync(paramBlock: ParmBlkPtr): OSErr;
  873.     {$IFC NOT GENERATINGCFM}
  874.     INLINE $205F, $A043, $3E80;
  875.     {$ENDC}
  876. FUNCTION PBSetFVersAsync(paramBlock: ParmBlkPtr): OSErr;
  877.     {$IFC NOT GENERATINGCFM}
  878.     INLINE $205F, $A443, $3E80;
  879.     {$ENDC}
  880. FUNCTION PBAllocate(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  881. FUNCTION PBAllocateSync(paramBlock: ParmBlkPtr): OSErr;
  882.     {$IFC NOT GENERATINGCFM}
  883.     INLINE $205F, $A010, $3E80;
  884.     {$ENDC}
  885. FUNCTION PBAllocateAsync(paramBlock: ParmBlkPtr): OSErr;
  886.     {$IFC NOT GENERATINGCFM}
  887.     INLINE $205F, $A410, $3E80;
  888.     {$ENDC}
  889. FUNCTION PBGetEOF(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  890. FUNCTION PBGetEOFSync(paramBlock: ParmBlkPtr): OSErr;
  891.     {$IFC NOT GENERATINGCFM}
  892.     INLINE $205F, $A011, $3E80;
  893.     {$ENDC}
  894. FUNCTION PBGetEOFAsync(paramBlock: ParmBlkPtr): OSErr;
  895.     {$IFC NOT GENERATINGCFM}
  896.     INLINE $205F, $A411, $3E80;
  897.     {$ENDC}
  898. FUNCTION PBSetEOF(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  899. FUNCTION PBSetEOFSync(paramBlock: ParmBlkPtr): OSErr;
  900.     {$IFC NOT GENERATINGCFM}
  901.     INLINE $205F, $A012, $3E80;
  902.     {$ENDC}
  903. FUNCTION PBSetEOFAsync(paramBlock: ParmBlkPtr): OSErr;
  904.     {$IFC NOT GENERATINGCFM}
  905.     INLINE $205F, $A412, $3E80;
  906.     {$ENDC}
  907. FUNCTION PBGetFPos(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  908. FUNCTION PBGetFPosSync(paramBlock: ParmBlkPtr): OSErr;
  909.     {$IFC NOT GENERATINGCFM}
  910.     INLINE $205F, $A018, $3E80;
  911.     {$ENDC}
  912. FUNCTION PBGetFPosAsync(paramBlock: ParmBlkPtr): OSErr;
  913.     {$IFC NOT GENERATINGCFM}
  914.     INLINE $205F, $A418, $3E80;
  915.     {$ENDC}
  916. FUNCTION PBSetFPos(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  917. FUNCTION PBSetFPosSync(paramBlock: ParmBlkPtr): OSErr;
  918.     {$IFC NOT GENERATINGCFM}
  919.     INLINE $205F, $A044, $3E80;
  920.     {$ENDC}
  921. FUNCTION PBSetFPosAsync(paramBlock: ParmBlkPtr): OSErr;
  922.     {$IFC NOT GENERATINGCFM}
  923.     INLINE $205F, $A444, $3E80;
  924.     {$ENDC}
  925. FUNCTION PBFlushFile(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  926. FUNCTION PBFlushFileSync(paramBlock: ParmBlkPtr): OSErr;
  927.     {$IFC NOT GENERATINGCFM}
  928.     INLINE $205F, $A045, $3E80;
  929.     {$ENDC}
  930. FUNCTION PBFlushFileAsync(paramBlock: ParmBlkPtr): OSErr;
  931.     {$IFC NOT GENERATINGCFM}
  932.     INLINE $205F, $A445, $3E80;
  933.     {$ENDC}
  934. FUNCTION PBMountVol(paramBlock: ParmBlkPtr): OSErr;
  935.     {$IFC NOT GENERATINGCFM}
  936.     INLINE $205F, $A00F, $3E80;
  937.     {$ENDC}
  938. FUNCTION PBUnmountVol(paramBlock: ParmBlkPtr): OSErr;
  939.     {$IFC NOT GENERATINGCFM}
  940.     INLINE $205F, $A00E, $3E80;
  941.     {$ENDC}
  942. FUNCTION PBEject(paramBlock: ParmBlkPtr): OSErr;
  943.     {$IFC NOT GENERATINGCFM}
  944.     INLINE $205F, $A017, $3E80;
  945.     {$ENDC}
  946. FUNCTION PBOffLine(paramBlock: ParmBlkPtr): OSErr;
  947.     {$IFC NOT GENERATINGCFM}
  948.     INLINE $205F, $A035, $3E80;
  949.     {$ENDC}
  950. FUNCTION PBCatSearch(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  951. FUNCTION PBCatSearchSync(paramBlock: HParmBlkPtr): OSErr;
  952.     {$IFC NOT GENERATINGCFM}
  953.     INLINE $205F, $7018, $A260, $3E80;
  954.     {$ENDC}
  955. FUNCTION PBCatSearchAsync(paramBlock: HParmBlkPtr): OSErr;
  956.     {$IFC NOT GENERATINGCFM}
  957.     INLINE $205F, $7018, $A660, $3E80;
  958.     {$ENDC}
  959. FUNCTION SetVol(volName: StringPtr; vRefNum: INTEGER): OSErr;
  960. FUNCTION UnmountVol(volName: StringPtr; vRefNum: INTEGER): OSErr;
  961. FUNCTION Eject(volName: StringPtr; vRefNum: INTEGER): OSErr;
  962. FUNCTION FlushVol(volName: StringPtr; vRefNum: INTEGER): OSErr;
  963. FUNCTION HSetVol(volName: StringPtr; vRefNum: INTEGER; dirID: LONGINT): OSErr;
  964. PROCEDURE AddDrive(drvrRefNum: INTEGER; drvNum: INTEGER; qEl: DrvQElPtr);
  965. FUNCTION FSOpen(fileName: ConstStr255Param; vRefNum: INTEGER; VAR refNum: INTEGER): OSErr;
  966. FUNCTION OpenDF(fileName: ConstStr255Param; vRefNum: INTEGER; VAR refNum: INTEGER): OSErr;
  967. FUNCTION FSClose(refNum: INTEGER): OSErr;
  968. FUNCTION FSRead(refNum: INTEGER; VAR count: LONGINT; buffPtr: UNIV Ptr): OSErr;
  969. FUNCTION FSWrite(refNum: INTEGER; VAR count: LONGINT; buffPtr: UNIV Ptr): OSErr;
  970. FUNCTION GetVInfo(drvNum: INTEGER; volName: StringPtr; VAR vRefNum: INTEGER; VAR freeBytes: LONGINT): OSErr;
  971. FUNCTION GetFInfo(fileName: ConstStr255Param; vRefNum: INTEGER; VAR fndrInfo: FInfo): OSErr;
  972. FUNCTION GetVol(volName: StringPtr; VAR vRefNum: INTEGER): OSErr;
  973. FUNCTION Create(fileName: ConstStr255Param; vRefNum: INTEGER; creator: OSType; fileType: OSType): OSErr;
  974. FUNCTION FSDelete(fileName: ConstStr255Param; vRefNum: INTEGER): OSErr;
  975. FUNCTION OpenRF(fileName: ConstStr255Param; vRefNum: INTEGER; VAR refNum: INTEGER): OSErr;
  976. FUNCTION Rename(oldName: ConstStr255Param; vRefNum: INTEGER; newName: ConstStr255Param): OSErr;
  977. FUNCTION SetFInfo(fileName: ConstStr255Param; vRefNum: INTEGER; fndrInfo: FInfo): OSErr;
  978. FUNCTION SetFLock(fileName: ConstStr255Param; vRefNum: INTEGER): OSErr;
  979. FUNCTION RstFLock(fileName: ConstStr255Param; vRefNum: INTEGER): OSErr;
  980. FUNCTION Allocate(refNum: INTEGER; VAR count: LONGINT): OSErr;
  981. FUNCTION GetEOF(refNum: INTEGER; VAR logEOF: LONGINT): OSErr;
  982. FUNCTION SetEOF(refNum: INTEGER; logEOF: LONGINT): OSErr;
  983. FUNCTION GetFPos(refNum: INTEGER; VAR filePos: LONGINT): OSErr;
  984. FUNCTION SetFPos(refNum: INTEGER; posMode: INTEGER; posOff: LONGINT): OSErr;
  985. FUNCTION GetVRefNum(fileRefNum: INTEGER; VAR vRefNum: INTEGER): OSErr;
  986. FUNCTION PBOpenWD(paramBlock: WDPBPtr; async: BOOLEAN): OSErr;
  987. FUNCTION PBOpenWDSync(paramBlock: WDPBPtr): OSErr;
  988.     {$IFC NOT GENERATINGCFM}
  989.     INLINE $205F, $7001, $A260, $3E80;
  990.     {$ENDC}
  991. FUNCTION PBOpenWDAsync(paramBlock: WDPBPtr): OSErr;
  992.     {$IFC NOT GENERATINGCFM}
  993.     INLINE $205F, $7001, $A660, $3E80;
  994.     {$ENDC}
  995. FUNCTION PBCloseWD(paramBlock: WDPBPtr; async: BOOLEAN): OSErr;
  996. FUNCTION PBCloseWDSync(paramBlock: WDPBPtr): OSErr;
  997.     {$IFC NOT GENERATINGCFM}
  998.     INLINE $205F, $7002, $A260, $3E80;
  999.     {$ENDC}
  1000. FUNCTION PBCloseWDAsync(paramBlock: WDPBPtr): OSErr;
  1001.     {$IFC NOT GENERATINGCFM}
  1002.     INLINE $205F, $7002, $A660, $3E80;
  1003.     {$ENDC}
  1004. FUNCTION PBHSetVol(paramBlock: WDPBPtr; async: BOOLEAN): OSErr;
  1005. FUNCTION PBHSetVolSync(paramBlock: WDPBPtr): OSErr;
  1006.     {$IFC NOT GENERATINGCFM}
  1007.     INLINE $205F, $A215, $3E80;
  1008.     {$ENDC}
  1009. FUNCTION PBHSetVolAsync(paramBlock: WDPBPtr): OSErr;
  1010.     {$IFC NOT GENERATINGCFM}
  1011.     INLINE $205F, $A615, $3E80;
  1012.     {$ENDC}
  1013. FUNCTION PBHGetVol(paramBlock: WDPBPtr; async: BOOLEAN): OSErr;
  1014. FUNCTION PBHGetVolSync(paramBlock: WDPBPtr): OSErr;
  1015.     {$IFC NOT GENERATINGCFM}
  1016.     INLINE $205F, $A214, $3E80;
  1017.     {$ENDC}
  1018. FUNCTION PBHGetVolAsync(paramBlock: WDPBPtr): OSErr;
  1019.     {$IFC NOT GENERATINGCFM}
  1020.     INLINE $205F, $A614, $3E80;
  1021.     {$ENDC}
  1022. FUNCTION PBCatMove(paramBlock: CMovePBPtr; async: BOOLEAN): OSErr;
  1023. FUNCTION PBCatMoveSync(paramBlock: CMovePBPtr): OSErr;
  1024.     {$IFC NOT GENERATINGCFM}
  1025.     INLINE $205F, $7005, $A260, $3E80;
  1026.     {$ENDC}
  1027. FUNCTION PBCatMoveAsync(paramBlock: CMovePBPtr): OSErr;
  1028.     {$IFC NOT GENERATINGCFM}
  1029.     INLINE $205F, $7005, $A660, $3E80;
  1030.     {$ENDC}
  1031. FUNCTION PBDirCreate(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1032. FUNCTION PBDirCreateSync(paramBlock: HParmBlkPtr): OSErr;
  1033.     {$IFC NOT GENERATINGCFM}
  1034.     INLINE $205F, $7006, $A260, $3E80;
  1035.     {$ENDC}
  1036. FUNCTION PBDirCreateAsync(paramBlock: HParmBlkPtr): OSErr;
  1037.     {$IFC NOT GENERATINGCFM}
  1038.     INLINE $205F, $7006, $A660, $3E80;
  1039.     {$ENDC}
  1040. FUNCTION PBGetWDInfo(paramBlock: WDPBPtr; async: BOOLEAN): OSErr;
  1041. FUNCTION PBGetWDInfoSync(paramBlock: WDPBPtr): OSErr;
  1042.     {$IFC NOT GENERATINGCFM}
  1043.     INLINE $205F, $7007, $A260, $3E80;
  1044.     {$ENDC}
  1045. FUNCTION PBGetWDInfoAsync(paramBlock: WDPBPtr): OSErr;
  1046.     {$IFC NOT GENERATINGCFM}
  1047.     INLINE $205F, $7007, $A660, $3E80;
  1048.     {$ENDC}
  1049. FUNCTION PBGetFCBInfo(paramBlock: FCBPBPtr; async: BOOLEAN): OSErr;
  1050. FUNCTION PBGetFCBInfoSync(paramBlock: FCBPBPtr): OSErr;
  1051.     {$IFC NOT GENERATINGCFM}
  1052.     INLINE $205F, $7008, $A260, $3E80;
  1053.     {$ENDC}
  1054. FUNCTION PBGetFCBInfoAsync(paramBlock: FCBPBPtr): OSErr;
  1055.     {$IFC NOT GENERATINGCFM}
  1056.     INLINE $205F, $7008, $A660, $3E80;
  1057.     {$ENDC}
  1058. FUNCTION PBGetCatInfo(paramBlock: CInfoPBPtr; async: BOOLEAN): OSErr;
  1059. FUNCTION PBGetCatInfoSync(paramBlock: CInfoPBPtr): OSErr;
  1060.     {$IFC NOT GENERATINGCFM}
  1061.     INLINE $205F, $7009, $A260, $3E80;
  1062.     {$ENDC}
  1063. FUNCTION PBGetCatInfoAsync(paramBlock: CInfoPBPtr): OSErr;
  1064.     {$IFC NOT GENERATINGCFM}
  1065.     INLINE $205F, $7009, $A660, $3E80;
  1066.     {$ENDC}
  1067. FUNCTION PBSetCatInfo(paramBlock: CInfoPBPtr; async: BOOLEAN): OSErr;
  1068. FUNCTION PBSetCatInfoSync(paramBlock: CInfoPBPtr): OSErr;
  1069.     {$IFC NOT GENERATINGCFM}
  1070.     INLINE $205F, $700A, $A260, $3E80;
  1071.     {$ENDC}
  1072. FUNCTION PBSetCatInfoAsync(paramBlock: CInfoPBPtr): OSErr;
  1073.     {$IFC NOT GENERATINGCFM}
  1074.     INLINE $205F, $700A, $A660, $3E80;
  1075.     {$ENDC}
  1076. FUNCTION PBAllocContig(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  1077. FUNCTION PBAllocContigSync(paramBlock: ParmBlkPtr): OSErr;
  1078.     {$IFC NOT GENERATINGCFM}
  1079.     INLINE $205F, $A210, $3E80;
  1080.     {$ENDC}
  1081. FUNCTION PBAllocContigAsync(paramBlock: ParmBlkPtr): OSErr;
  1082.     {$IFC NOT GENERATINGCFM}
  1083.     INLINE $205F, $A610, $3E80;
  1084.     {$ENDC}
  1085. FUNCTION PBLockRange(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  1086. FUNCTION PBLockRangeSync(paramBlock: ParmBlkPtr): OSErr;
  1087.     {$IFC NOT GENERATINGCFM}
  1088.     INLINE $205F, $7010, $A260, $3E80;
  1089.     {$ENDC}
  1090. FUNCTION PBLockRangeAsync(paramBlock: ParmBlkPtr): OSErr;
  1091.     {$IFC NOT GENERATINGCFM}
  1092.     INLINE $205F, $7010, $A660, $3E80;
  1093.     {$ENDC}
  1094. FUNCTION PBUnlockRange(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  1095. FUNCTION PBUnlockRangeSync(paramBlock: ParmBlkPtr): OSErr;
  1096.     {$IFC NOT GENERATINGCFM}
  1097.     INLINE $205F, $7011, $A260, $3E80;
  1098.     {$ENDC}
  1099. FUNCTION PBUnlockRangeAsync(paramBlock: ParmBlkPtr): OSErr;
  1100.     {$IFC NOT GENERATINGCFM}
  1101.     INLINE $205F, $7011, $A660, $3E80;
  1102.     {$ENDC}
  1103. FUNCTION PBSetVInfo(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1104. FUNCTION PBSetVInfoSync(paramBlock: HParmBlkPtr): OSErr;
  1105.     {$IFC NOT GENERATINGCFM}
  1106.     INLINE $205F, $700B, $A260, $3E80;
  1107.     {$ENDC}
  1108. FUNCTION PBSetVInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  1109.     {$IFC NOT GENERATINGCFM}
  1110.     INLINE $205F, $700B, $A660, $3E80;
  1111.     {$ENDC}
  1112. FUNCTION PBHGetVInfo(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1113. FUNCTION PBHGetVInfoSync(paramBlock: HParmBlkPtr): OSErr;
  1114.     {$IFC NOT GENERATINGCFM}
  1115.     INLINE $205F, $A207, $3E80;
  1116.     {$ENDC}
  1117. FUNCTION PBHGetVInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  1118.     {$IFC NOT GENERATINGCFM}
  1119.     INLINE $205F, $A607, $3E80;
  1120.     {$ENDC}
  1121. FUNCTION PBHOpen(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1122. FUNCTION PBHOpenSync(paramBlock: HParmBlkPtr): OSErr;
  1123.     {$IFC NOT GENERATINGCFM}
  1124.     INLINE $205F, $A200, $3E80;
  1125.     {$ENDC}
  1126. FUNCTION PBHOpenAsync(paramBlock: HParmBlkPtr): OSErr;
  1127.     {$IFC NOT GENERATINGCFM}
  1128.     INLINE $205F, $A600, $3E80;
  1129.     {$ENDC}
  1130. FUNCTION PBHOpenRF(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1131. FUNCTION PBHOpenRFSync(paramBlock: HParmBlkPtr): OSErr;
  1132.     {$IFC NOT GENERATINGCFM}
  1133.     INLINE $205F, $A20A, $3E80;
  1134.     {$ENDC}
  1135. FUNCTION PBHOpenRFAsync(paramBlock: HParmBlkPtr): OSErr;
  1136.     {$IFC NOT GENERATINGCFM}
  1137.     INLINE $205F, $A60A, $3E80;
  1138.     {$ENDC}
  1139. FUNCTION PBHOpenDF(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1140. FUNCTION PBHOpenDFSync(paramBlock: HParmBlkPtr): OSErr;
  1141.     {$IFC NOT GENERATINGCFM}
  1142.     INLINE $205F, $701A, $A260, $3E80;
  1143.     {$ENDC}
  1144. FUNCTION PBHOpenDFAsync(paramBlock: HParmBlkPtr): OSErr;
  1145.     {$IFC NOT GENERATINGCFM}
  1146.     INLINE $205F, $701A, $A660, $3E80;
  1147.     {$ENDC}
  1148. FUNCTION PBHCreate(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1149. FUNCTION PBHCreateSync(paramBlock: HParmBlkPtr): OSErr;
  1150.     {$IFC NOT GENERATINGCFM}
  1151.     INLINE $205F, $A208, $3E80;
  1152.     {$ENDC}
  1153. FUNCTION PBHCreateAsync(paramBlock: HParmBlkPtr): OSErr;
  1154.     {$IFC NOT GENERATINGCFM}
  1155.     INLINE $205F, $A608, $3E80;
  1156.     {$ENDC}
  1157. FUNCTION PBHDelete(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1158. FUNCTION PBHDeleteSync(paramBlock: HParmBlkPtr): OSErr;
  1159.     {$IFC NOT GENERATINGCFM}
  1160.     INLINE $205F, $A209, $3E80;
  1161.     {$ENDC}
  1162. FUNCTION PBHDeleteAsync(paramBlock: HParmBlkPtr): OSErr;
  1163.     {$IFC NOT GENERATINGCFM}
  1164.     INLINE $205F, $A609, $3E80;
  1165.     {$ENDC}
  1166. FUNCTION PBHRename(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1167. FUNCTION PBHRenameSync(paramBlock: HParmBlkPtr): OSErr;
  1168.     {$IFC NOT GENERATINGCFM}
  1169.     INLINE $205F, $A20B, $3E80;
  1170.     {$ENDC}
  1171. FUNCTION PBHRenameAsync(paramBlock: HParmBlkPtr): OSErr;
  1172.     {$IFC NOT GENERATINGCFM}
  1173.     INLINE $205F, $A60B, $3E80;
  1174.     {$ENDC}
  1175. FUNCTION PBHRstFLock(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1176. FUNCTION PBHRstFLockSync(paramBlock: HParmBlkPtr): OSErr;
  1177.     {$IFC NOT GENERATINGCFM}
  1178.     INLINE $205F, $A242, $3E80;
  1179.     {$ENDC}
  1180. FUNCTION PBHRstFLockAsync(paramBlock: HParmBlkPtr): OSErr;
  1181.     {$IFC NOT GENERATINGCFM}
  1182.     INLINE $205F, $A642, $3E80;
  1183.     {$ENDC}
  1184. FUNCTION PBHSetFLock(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1185. FUNCTION PBHSetFLockSync(paramBlock: HParmBlkPtr): OSErr;
  1186.     {$IFC NOT GENERATINGCFM}
  1187.     INLINE $205F, $A241, $3E80;
  1188.     {$ENDC}
  1189. FUNCTION PBHSetFLockAsync(paramBlock: HParmBlkPtr): OSErr;
  1190.     {$IFC NOT GENERATINGCFM}
  1191.     INLINE $205F, $A641, $3E80;
  1192.     {$ENDC}
  1193. FUNCTION PBHGetFInfo(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1194. FUNCTION PBHGetFInfoSync(paramBlock: HParmBlkPtr): OSErr;
  1195.     {$IFC NOT GENERATINGCFM}
  1196.     INLINE $205F, $A20C, $3E80;
  1197.     {$ENDC}
  1198. FUNCTION PBHGetFInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  1199.     {$IFC NOT GENERATINGCFM}
  1200.     INLINE $205F, $A60C, $3E80;
  1201.     {$ENDC}
  1202. FUNCTION PBHSetFInfo(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1203. FUNCTION PBHSetFInfoSync(paramBlock: HParmBlkPtr): OSErr;
  1204.     {$IFC NOT GENERATINGCFM}
  1205.     INLINE $205F, $A20D, $3E80;
  1206.     {$ENDC}
  1207. FUNCTION PBHSetFInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  1208.     {$IFC NOT GENERATINGCFM}
  1209.     INLINE $205F, $A60D, $3E80;
  1210.     {$ENDC}
  1211. FUNCTION PBMakeFSSpec(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1212. FUNCTION PBMakeFSSpecSync(paramBlock: HParmBlkPtr): OSErr;
  1213.     {$IFC NOT GENERATINGCFM}
  1214.     INLINE $205F, $701B, $A260, $3E80;
  1215.     {$ENDC}
  1216. FUNCTION PBMakeFSSpecAsync(paramBlock: HParmBlkPtr): OSErr;
  1217.     {$IFC NOT GENERATINGCFM}
  1218.     INLINE $205F, $701B, $A660, $3E80;
  1219.     {$ENDC}
  1220. PROCEDURE FInitQueue;
  1221.     {$IFC NOT GENERATINGCFM}
  1222.     INLINE $A016;
  1223.     {$ENDC}
  1224. FUNCTION GetFSQHdr: QHdrPtr;
  1225.     {$IFC NOT GENERATINGCFM}
  1226.     INLINE $2EBC, $0000, $0360;
  1227.     {$ENDC}
  1228. FUNCTION GetDrvQHdr: QHdrPtr;
  1229.     {$IFC NOT GENERATINGCFM}
  1230.     INLINE $2EBC, $0000, $0308;
  1231.     {$ENDC}
  1232. FUNCTION GetVCBQHdr: QHdrPtr;
  1233.     {$IFC NOT GENERATINGCFM}
  1234.     INLINE $2EBC, $0000, $0356;
  1235.     {$ENDC}
  1236. FUNCTION HGetVol(volName: StringPtr; VAR vRefNum: INTEGER; VAR dirID: LONGINT): OSErr;
  1237. FUNCTION HOpen(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; permission: ByteParameter; VAR refNum: INTEGER): OSErr;
  1238. FUNCTION HOpenDF(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; permission: ByteParameter; VAR refNum: INTEGER): OSErr;
  1239. FUNCTION HOpenRF(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; permission: ByteParameter; VAR refNum: INTEGER): OSErr;
  1240. FUNCTION AllocContig(refNum: INTEGER; VAR count: LONGINT): OSErr;
  1241. FUNCTION HCreate(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; creator: OSType; fileType: OSType): OSErr;
  1242. FUNCTION DirCreate(vRefNum: INTEGER; parentDirID: LONGINT; directoryName: ConstStr255Param; VAR createdDirID: LONGINT): OSErr;
  1243. FUNCTION HDelete(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param): OSErr;
  1244. FUNCTION HGetFInfo(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; VAR fndrInfo: FInfo): OSErr;
  1245. FUNCTION HSetFInfo(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; fndrInfo: FInfo): OSErr;
  1246. FUNCTION HSetFLock(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param): OSErr;
  1247. FUNCTION HRstFLock(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param): OSErr;
  1248. FUNCTION HRename(vRefNum: INTEGER; dirID: LONGINT; oldName: ConstStr255Param; newName: ConstStr255Param): OSErr;
  1249. FUNCTION CatMove(vRefNum: INTEGER; dirID: LONGINT; oldName: ConstStr255Param; newDirID: LONGINT; newName: ConstStr255Param): OSErr;
  1250. FUNCTION OpenWD(vRefNum: INTEGER; dirID: LONGINT; procID: LONGINT; VAR wdRefNum: INTEGER): OSErr;
  1251. FUNCTION CloseWD(wdRefNum: INTEGER): OSErr;
  1252. FUNCTION GetWDInfo(wdRefNum: INTEGER; VAR vRefNum: INTEGER; VAR dirID: LONGINT; VAR procID: LONGINT): OSErr;
  1253. {  shared environment  }
  1254. FUNCTION PBHGetVolParms(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1255. FUNCTION PBHGetVolParmsSync(paramBlock: HParmBlkPtr): OSErr;
  1256.     {$IFC NOT GENERATINGCFM}
  1257.     INLINE $205F, $7030, $A260, $3E80;
  1258.     {$ENDC}
  1259. FUNCTION PBHGetVolParmsAsync(paramBlock: HParmBlkPtr): OSErr;
  1260.     {$IFC NOT GENERATINGCFM}
  1261.     INLINE $205F, $7030, $A660, $3E80;
  1262.     {$ENDC}
  1263. FUNCTION PBHGetLogInInfo(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1264. FUNCTION PBHGetLogInInfoSync(paramBlock: HParmBlkPtr): OSErr;
  1265.     {$IFC NOT GENERATINGCFM}
  1266.     INLINE $205F, $7031, $A260, $3E80;
  1267.     {$ENDC}
  1268. FUNCTION PBHGetLogInInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  1269.     {$IFC NOT GENERATINGCFM}
  1270.     INLINE $205F, $7031, $A660, $3E80;
  1271.     {$ENDC}
  1272. FUNCTION PBHGetDirAccess(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1273. FUNCTION PBHGetDirAccessSync(paramBlock: HParmBlkPtr): OSErr;
  1274.     {$IFC NOT GENERATINGCFM}
  1275.     INLINE $205F, $7032, $A260, $3E80;
  1276.     {$ENDC}
  1277. FUNCTION PBHGetDirAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  1278.     {$IFC NOT GENERATINGCFM}
  1279.     INLINE $205F, $7032, $A660, $3E80;
  1280.     {$ENDC}
  1281. FUNCTION PBHSetDirAccess(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1282. FUNCTION PBHSetDirAccessSync(paramBlock: HParmBlkPtr): OSErr;
  1283.     {$IFC NOT GENERATINGCFM}
  1284.     INLINE $205F, $7033, $A260, $3E80;
  1285.     {$ENDC}
  1286. FUNCTION PBHSetDirAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  1287.     {$IFC NOT GENERATINGCFM}
  1288.     INLINE $205F, $7033, $A660, $3E80;
  1289.     {$ENDC}
  1290. FUNCTION PBHMapID(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1291. FUNCTION PBHMapIDSync(paramBlock: HParmBlkPtr): OSErr;
  1292.     {$IFC NOT GENERATINGCFM}
  1293.     INLINE $205F, $7034, $A260, $3E80;
  1294.     {$ENDC}
  1295. FUNCTION PBHMapIDAsync(paramBlock: HParmBlkPtr): OSErr;
  1296.     {$IFC NOT GENERATINGCFM}
  1297.     INLINE $205F, $7034, $A660, $3E80;
  1298.     {$ENDC}
  1299. FUNCTION PBHMapName(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1300. FUNCTION PBHMapNameSync(paramBlock: HParmBlkPtr): OSErr;
  1301.     {$IFC NOT GENERATINGCFM}
  1302.     INLINE $205F, $7035, $A260, $3E80;
  1303.     {$ENDC}
  1304. FUNCTION PBHMapNameAsync(paramBlock: HParmBlkPtr): OSErr;
  1305.     {$IFC NOT GENERATINGCFM}
  1306.     INLINE $205F, $7035, $A660, $3E80;
  1307.     {$ENDC}
  1308. FUNCTION PBHCopyFile(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1309. FUNCTION PBHCopyFileSync(paramBlock: HParmBlkPtr): OSErr;
  1310.     {$IFC NOT GENERATINGCFM}
  1311.     INLINE $205F, $7036, $A260, $3E80;
  1312.     {$ENDC}
  1313. FUNCTION PBHCopyFileAsync(paramBlock: HParmBlkPtr): OSErr;
  1314.     {$IFC NOT GENERATINGCFM}
  1315.     INLINE $205F, $7036, $A660, $3E80;
  1316.     {$ENDC}
  1317. FUNCTION PBHMoveRename(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1318. FUNCTION PBHMoveRenameSync(paramBlock: HParmBlkPtr): OSErr;
  1319.     {$IFC NOT GENERATINGCFM}
  1320.     INLINE $205F, $7037, $A260, $3E80;
  1321.     {$ENDC}
  1322. FUNCTION PBHMoveRenameAsync(paramBlock: HParmBlkPtr): OSErr;
  1323.     {$IFC NOT GENERATINGCFM}
  1324.     INLINE $205F, $7037, $A660, $3E80;
  1325.     {$ENDC}
  1326. FUNCTION PBHOpenDeny(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1327. FUNCTION PBHOpenDenySync(paramBlock: HParmBlkPtr): OSErr;
  1328.     {$IFC NOT GENERATINGCFM}
  1329.     INLINE $205F, $7038, $A260, $3E80;
  1330.     {$ENDC}
  1331. FUNCTION PBHOpenDenyAsync(paramBlock: HParmBlkPtr): OSErr;
  1332.     {$IFC NOT GENERATINGCFM}
  1333.     INLINE $205F, $7038, $A660, $3E80;
  1334.     {$ENDC}
  1335. FUNCTION PBHOpenRFDeny(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1336. FUNCTION PBHOpenRFDenySync(paramBlock: HParmBlkPtr): OSErr;
  1337.     {$IFC NOT GENERATINGCFM}
  1338.     INLINE $205F, $7039, $A260, $3E80;
  1339.     {$ENDC}
  1340. FUNCTION PBHOpenRFDenyAsync(paramBlock: HParmBlkPtr): OSErr;
  1341.     {$IFC NOT GENERATINGCFM}
  1342.     INLINE $205F, $7039, $A660, $3E80;
  1343.     {$ENDC}
  1344. FUNCTION PBExchangeFiles(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1345. FUNCTION PBExchangeFilesSync(paramBlock: HParmBlkPtr): OSErr;
  1346.     {$IFC NOT GENERATINGCFM}
  1347.     INLINE $205F, $7017, $A260, $3E80;
  1348.     {$ENDC}
  1349. FUNCTION PBExchangeFilesAsync(paramBlock: HParmBlkPtr): OSErr;
  1350.     {$IFC NOT GENERATINGCFM}
  1351.     INLINE $205F, $7017, $A660, $3E80;
  1352.     {$ENDC}
  1353. FUNCTION PBCreateFileIDRef(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1354. FUNCTION PBCreateFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  1355.     {$IFC NOT GENERATINGCFM}
  1356.     INLINE $205F, $7014, $A260, $3E80;
  1357.     {$ENDC}
  1358. FUNCTION PBCreateFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  1359.     {$IFC NOT GENERATINGCFM}
  1360.     INLINE $205F, $7014, $A660, $3E80;
  1361.     {$ENDC}
  1362. FUNCTION PBResolveFileIDRef(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1363. FUNCTION PBResolveFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  1364.     {$IFC NOT GENERATINGCFM}
  1365.     INLINE $205F, $7016, $A260, $3E80;
  1366.     {$ENDC}
  1367. FUNCTION PBResolveFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  1368.     {$IFC NOT GENERATINGCFM}
  1369.     INLINE $205F, $7016, $A660, $3E80;
  1370.     {$ENDC}
  1371. FUNCTION PBDeleteFileIDRef(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1372. FUNCTION PBDeleteFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  1373.     {$IFC NOT GENERATINGCFM}
  1374.     INLINE $205F, $7015, $A260, $3E80;
  1375.     {$ENDC}
  1376. FUNCTION PBDeleteFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  1377.     {$IFC NOT GENERATINGCFM}
  1378.     INLINE $205F, $7015, $A660, $3E80;
  1379.     {$ENDC}
  1380. FUNCTION PBGetForeignPrivs(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1381. FUNCTION PBGetForeignPrivsSync(paramBlock: HParmBlkPtr): OSErr;
  1382.     {$IFC NOT GENERATINGCFM}
  1383.     INLINE $205F, $7060, $A260, $3E80;
  1384.     {$ENDC}
  1385. FUNCTION PBGetForeignPrivsAsync(paramBlock: HParmBlkPtr): OSErr;
  1386.     {$IFC NOT GENERATINGCFM}
  1387.     INLINE $205F, $7060, $A660, $3E80;
  1388.     {$ENDC}
  1389. FUNCTION PBSetForeignPrivs(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1390. FUNCTION PBSetForeignPrivsSync(paramBlock: HParmBlkPtr): OSErr;
  1391.     {$IFC NOT GENERATINGCFM}
  1392.     INLINE $205F, $7061, $A260, $3E80;
  1393.     {$ENDC}
  1394. FUNCTION PBSetForeignPrivsAsync(paramBlock: HParmBlkPtr): OSErr;
  1395.     {$IFC NOT GENERATINGCFM}
  1396.     INLINE $205F, $7061, $A660, $3E80;
  1397.     {$ENDC}
  1398. {  Desktop Manager  }
  1399. FUNCTION PBDTGetPath(paramBlock: DTPBPtr): OSErr;
  1400.     {$IFC NOT GENERATINGCFM}
  1401.     INLINE $205F, $7020, $A260, $3E80;
  1402.     {$ENDC}
  1403. FUNCTION PBDTCloseDown(paramBlock: DTPBPtr): OSErr;
  1404.     {$IFC NOT GENERATINGCFM}
  1405.     INLINE $205F, $7021, $A260, $3E80;
  1406.     {$ENDC}
  1407. FUNCTION PBDTAddIcon(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1408. FUNCTION PBDTAddIconSync(paramBlock: DTPBPtr): OSErr;
  1409.     {$IFC NOT GENERATINGCFM}
  1410.     INLINE $205F, $7022, $A260, $3E80;
  1411.     {$ENDC}
  1412. FUNCTION PBDTAddIconAsync(paramBlock: DTPBPtr): OSErr;
  1413.     {$IFC NOT GENERATINGCFM}
  1414.     INLINE $205F, $7022, $A660, $3E80;
  1415.     {$ENDC}
  1416. FUNCTION PBDTGetIcon(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1417. FUNCTION PBDTGetIconSync(paramBlock: DTPBPtr): OSErr;
  1418.     {$IFC NOT GENERATINGCFM}
  1419.     INLINE $205F, $7023, $A260, $3E80;
  1420.     {$ENDC}
  1421. FUNCTION PBDTGetIconAsync(paramBlock: DTPBPtr): OSErr;
  1422.     {$IFC NOT GENERATINGCFM}
  1423.     INLINE $205F, $7023, $A660, $3E80;
  1424.     {$ENDC}
  1425. FUNCTION PBDTGetIconInfo(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1426. FUNCTION PBDTGetIconInfoSync(paramBlock: DTPBPtr): OSErr;
  1427.     {$IFC NOT GENERATINGCFM}
  1428.     INLINE $205F, $7024, $A260, $3E80;
  1429.     {$ENDC}
  1430. FUNCTION PBDTGetIconInfoAsync(paramBlock: DTPBPtr): OSErr;
  1431.     {$IFC NOT GENERATINGCFM}
  1432.     INLINE $205F, $7024, $A660, $3E80;
  1433.     {$ENDC}
  1434. FUNCTION PBDTAddAPPL(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1435. FUNCTION PBDTAddAPPLSync(paramBlock: DTPBPtr): OSErr;
  1436.     {$IFC NOT GENERATINGCFM}
  1437.     INLINE $205F, $7025, $A260, $3E80;
  1438.     {$ENDC}
  1439. FUNCTION PBDTAddAPPLAsync(paramBlock: DTPBPtr): OSErr;
  1440.     {$IFC NOT GENERATINGCFM}
  1441.     INLINE $205F, $7025, $A660, $3E80;
  1442.     {$ENDC}
  1443. FUNCTION PBDTRemoveAPPL(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1444. FUNCTION PBDTRemoveAPPLSync(paramBlock: DTPBPtr): OSErr;
  1445.     {$IFC NOT GENERATINGCFM}
  1446.     INLINE $205F, $7026, $A260, $3E80;
  1447.     {$ENDC}
  1448. FUNCTION PBDTRemoveAPPLAsync(paramBlock: DTPBPtr): OSErr;
  1449.     {$IFC NOT GENERATINGCFM}
  1450.     INLINE $205F, $7026, $A660, $3E80;
  1451.     {$ENDC}
  1452. FUNCTION PBDTGetAPPL(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1453. FUNCTION PBDTGetAPPLSync(paramBlock: DTPBPtr): OSErr;
  1454.     {$IFC NOT GENERATINGCFM}
  1455.     INLINE $205F, $7027, $A260, $3E80;
  1456.     {$ENDC}
  1457. FUNCTION PBDTGetAPPLAsync(paramBlock: DTPBPtr): OSErr;
  1458.     {$IFC NOT GENERATINGCFM}
  1459.     INLINE $205F, $7027, $A660, $3E80;
  1460.     {$ENDC}
  1461. FUNCTION PBDTSetComment(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1462. FUNCTION PBDTSetCommentSync(paramBlock: DTPBPtr): OSErr;
  1463.     {$IFC NOT GENERATINGCFM}
  1464.     INLINE $205F, $7028, $A260, $3E80;
  1465.     {$ENDC}
  1466. FUNCTION PBDTSetCommentAsync(paramBlock: DTPBPtr): OSErr;
  1467.     {$IFC NOT GENERATINGCFM}
  1468.     INLINE $205F, $7028, $A660, $3E80;
  1469.     {$ENDC}
  1470. FUNCTION PBDTRemoveComment(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1471. FUNCTION PBDTRemoveCommentSync(paramBlock: DTPBPtr): OSErr;
  1472.     {$IFC NOT GENERATINGCFM}
  1473.     INLINE $205F, $7029, $A260, $3E80;
  1474.     {$ENDC}
  1475. FUNCTION PBDTRemoveCommentAsync(paramBlock: DTPBPtr): OSErr;
  1476.     {$IFC NOT GENERATINGCFM}
  1477.     INLINE $205F, $7029, $A660, $3E80;
  1478.     {$ENDC}
  1479. FUNCTION PBDTGetComment(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1480. FUNCTION PBDTGetCommentSync(paramBlock: DTPBPtr): OSErr;
  1481.     {$IFC NOT GENERATINGCFM}
  1482.     INLINE $205F, $702A, $A260, $3E80;
  1483.     {$ENDC}
  1484. FUNCTION PBDTGetCommentAsync(paramBlock: DTPBPtr): OSErr;
  1485.     {$IFC NOT GENERATINGCFM}
  1486.     INLINE $205F, $702A, $A660, $3E80;
  1487.     {$ENDC}
  1488. FUNCTION PBDTFlush(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1489. FUNCTION PBDTFlushSync(paramBlock: DTPBPtr): OSErr;
  1490.     {$IFC NOT GENERATINGCFM}
  1491.     INLINE $205F, $702B, $A260, $3E80;
  1492.     {$ENDC}
  1493. FUNCTION PBDTFlushAsync(paramBlock: DTPBPtr): OSErr;
  1494.     {$IFC NOT GENERATINGCFM}
  1495.     INLINE $205F, $702B, $A660, $3E80;
  1496.     {$ENDC}
  1497. FUNCTION PBDTReset(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1498. FUNCTION PBDTResetSync(paramBlock: DTPBPtr): OSErr;
  1499.     {$IFC NOT GENERATINGCFM}
  1500.     INLINE $205F, $702C, $A260, $3E80;
  1501.     {$ENDC}
  1502. FUNCTION PBDTResetAsync(paramBlock: DTPBPtr): OSErr;
  1503.     {$IFC NOT GENERATINGCFM}
  1504.     INLINE $205F, $702C, $A660, $3E80;
  1505.     {$ENDC}
  1506. FUNCTION PBDTGetInfo(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1507. FUNCTION PBDTGetInfoSync(paramBlock: DTPBPtr): OSErr;
  1508.     {$IFC NOT GENERATINGCFM}
  1509.     INLINE $205F, $702D, $A260, $3E80;
  1510.     {$ENDC}
  1511. FUNCTION PBDTGetInfoAsync(paramBlock: DTPBPtr): OSErr;
  1512.     {$IFC NOT GENERATINGCFM}
  1513.     INLINE $205F, $702D, $A660, $3E80;
  1514.     {$ENDC}
  1515. FUNCTION PBDTOpenInform(paramBlock: DTPBPtr): OSErr;
  1516.     {$IFC NOT GENERATINGCFM}
  1517.     INLINE $205F, $702E, $A060, $3E80;
  1518.     {$ENDC}
  1519. FUNCTION PBDTDelete(paramBlock: DTPBPtr; async: BOOLEAN): OSErr;
  1520. FUNCTION PBDTDeleteSync(paramBlock: DTPBPtr): OSErr;
  1521.     {$IFC NOT GENERATINGCFM}
  1522.     INLINE $205F, $702F, $A060, $3E80;
  1523.     {$ENDC}
  1524. FUNCTION PBDTDeleteAsync(paramBlock: DTPBPtr): OSErr;
  1525.     {$IFC NOT GENERATINGCFM}
  1526.     INLINE $205F, $702F, $A460, $3E80;
  1527.     {$ENDC}
  1528. {  VolumeMount traps  }
  1529. FUNCTION PBGetVolMountInfoSize(paramBlock: ParmBlkPtr): OSErr;
  1530.     {$IFC NOT GENERATINGCFM}
  1531.     INLINE $205F, $703F, $A260, $3E80;
  1532.     {$ENDC}
  1533. FUNCTION PBGetVolMountInfo(paramBlock: ParmBlkPtr): OSErr;
  1534.     {$IFC NOT GENERATINGCFM}
  1535.     INLINE $205F, $7040, $A260, $3E80;
  1536.     {$ENDC}
  1537. FUNCTION PBVolumeMount(paramBlock: ParmBlkPtr): OSErr;
  1538.     {$IFC NOT GENERATINGCFM}
  1539.     INLINE $205F, $7041, $A260, $3E80;
  1540.     {$ENDC}
  1541. {  FSp traps  }
  1542. FUNCTION FSMakeFSSpec(vRefNum: INTEGER; dirID: LONGINT; fileName: ConstStr255Param; VAR spec: FSSpec): OSErr;
  1543.     {$IFC NOT GENERATINGCFM}
  1544.     INLINE $7001, $AA52;
  1545.     {$ENDC}
  1546. FUNCTION FSpOpenDF(spec: FSSpec; permission: ByteParameter; VAR refNum: INTEGER): OSErr;
  1547.     {$IFC NOT GENERATINGCFM}
  1548.     INLINE $7002, $AA52;
  1549.     {$ENDC}
  1550. FUNCTION FSpOpenRF(spec: FSSpec; permission: ByteParameter; VAR refNum: INTEGER): OSErr;
  1551.     {$IFC NOT GENERATINGCFM}
  1552.     INLINE $7003, $AA52;
  1553.     {$ENDC}
  1554. FUNCTION FSpCreate(spec: FSSpec; creator: OSType; fileType: OSType; scriptTag: ScriptCode): OSErr;
  1555.     {$IFC NOT GENERATINGCFM}
  1556.     INLINE $7004, $AA52;
  1557.     {$ENDC}
  1558. FUNCTION FSpDirCreate(spec: FSSpec; scriptTag: ScriptCode; VAR createdDirID: LONGINT): OSErr;
  1559.     {$IFC NOT GENERATINGCFM}
  1560.     INLINE $7005, $AA52;
  1561.     {$ENDC}
  1562. FUNCTION FSpDelete(spec: FSSpec): OSErr;
  1563.     {$IFC NOT GENERATINGCFM}
  1564.     INLINE $7006, $AA52;
  1565.     {$ENDC}
  1566. FUNCTION FSpGetFInfo(spec: FSSpec; VAR fndrInfo: FInfo): OSErr;
  1567.     {$IFC NOT GENERATINGCFM}
  1568.     INLINE $7007, $AA52;
  1569.     {$ENDC}
  1570. FUNCTION FSpSetFInfo(spec: FSSpec; fndrInfo: FInfo): OSErr;
  1571.     {$IFC NOT GENERATINGCFM}
  1572.     INLINE $7008, $AA52;
  1573.     {$ENDC}
  1574. FUNCTION FSpSetFLock(spec: FSSpec): OSErr;
  1575.     {$IFC NOT GENERATINGCFM}
  1576.     INLINE $7009, $AA52;
  1577.     {$ENDC}
  1578. FUNCTION FSpRstFLock(spec: FSSpec): OSErr;
  1579.     {$IFC NOT GENERATINGCFM}
  1580.     INLINE $700A, $AA52;
  1581.     {$ENDC}
  1582. FUNCTION FSpRename(spec: FSSpec; newName: ConstStr255Param): OSErr;
  1583.     {$IFC NOT GENERATINGCFM}
  1584.     INLINE $700B, $AA52;
  1585.     {$ENDC}
  1586. FUNCTION FSpCatMove(source: FSSpec; dest: FSSpec): OSErr;
  1587.     {$IFC NOT GENERATINGCFM}
  1588.     INLINE $700C, $AA52;
  1589.     {$ENDC}
  1590. FUNCTION FSpExchangeFiles(source: FSSpec; dest: FSSpec): OSErr;
  1591.     {$IFC NOT GENERATINGCFM}
  1592.     INLINE $700F, $AA52;
  1593.     {$ENDC}
  1594. {
  1595.     PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  1596.     on PowerPC. Equivalent functionality is provided by the routines 
  1597.     PBGetForeignPrivs and PBSetForeignPrivs.
  1598. }
  1599. {$IFC OLDROUTINENAMES  & NOT GENERATINGCFM }
  1600. FUNCTION PBGetAltAccess(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1601. FUNCTION PBGetAltAccessSync(paramBlock: HParmBlkPtr): OSErr;
  1602.     {$IFC NOT GENERATINGCFM}
  1603.     INLINE $205F, $7060, $A060, $3E80;
  1604.     {$ENDC}
  1605. FUNCTION PBGetAltAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  1606.     {$IFC NOT GENERATINGCFM}
  1607.     INLINE $205F, $7060, $A460, $3E80;
  1608.     {$ENDC}
  1609. FUNCTION PBSetAltAccess(paramBlock: HParmBlkPtr; async: BOOLEAN): OSErr;
  1610. FUNCTION PBSetAltAccessSync(paramBlock: HParmBlkPtr): OSErr;
  1611.     {$IFC NOT GENERATINGCFM}
  1612.     INLINE $205F, $7061, $A060, $3E80;
  1613.     {$ENDC}
  1614. FUNCTION PBSetAltAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  1615.     {$IFC NOT GENERATINGCFM}
  1616.     INLINE $205F, $7061, $A460, $3E80;
  1617.     {$ENDC}
  1618. {$ENDC}
  1619. FUNCTION PBShareSync(paramBlock: CMovePBPtr): OSErr;
  1620.     {$IFC NOT GENERATINGCFM}
  1621.     INLINE $205F, $7042, $A260, $3E80;
  1622.     {$ENDC}
  1623. FUNCTION PBShareAsync(paramBlock: CMovePBPtr): OSErr;
  1624.     {$IFC NOT GENERATINGCFM}
  1625.     INLINE $205F, $7042, $A660, $3E80;
  1626.     {$ENDC}
  1627. FUNCTION PBUnshareSync(paramBlock: CMovePBPtr): OSErr;
  1628.     {$IFC NOT GENERATINGCFM}
  1629.     INLINE $205F, $7043, $A260, $3E80;
  1630.     {$ENDC}
  1631. FUNCTION PBUnshareAsync(paramBlock: CMovePBPtr): OSErr;
  1632.     {$IFC NOT GENERATINGCFM}
  1633.     INLINE $205F, $7043, $A660, $3E80;
  1634.     {$ENDC}
  1635. FUNCTION PBGetUGEntrySync(paramBlock: CMovePBPtr): OSErr;
  1636.     {$IFC NOT GENERATINGCFM}
  1637.     INLINE $205F, $7044, $A260, $3E80;
  1638.     {$ENDC}
  1639. FUNCTION PBGetUGEntryAsync(paramBlock: CMovePBPtr): OSErr;
  1640.     {$IFC NOT GENERATINGCFM}
  1641.     INLINE $205F, $7044, $A660, $3E80;
  1642.     {$ENDC}
  1643.  
  1644. {$ALIGN RESET}
  1645. {$POP}
  1646.  
  1647. {$SETC UsingIncludes := FilesIncludes}
  1648.  
  1649. {$ENDC} {__FILES__}
  1650.  
  1651. {$IFC NOT UsingIncludes}
  1652.  END.
  1653. {$ENDC}
  1654.